<?php
/**
 * @package    system
 * @subpackage service
 */

/**
 * Invoker for the services on the service layer. Its responsibe for calling (or not) most of the
 * "middleware tasks" as:
 * service schema validation
 * logs
 * user authorization (maybe)
 * service benchmarking
 *
 */
class Services
{
    /**
     * @throw ServiceDataException, ServiceValidationException
     * @todo Verify output validation.
     */
    static function call($class,$method, $data = null)
    {
        $args = (array) $data;
        return call_user_func_array(array($class,$method), $args);
    }
}
?>